#ifndef WIDGET_20_H
#define WIDGET_20_H

#include <QWidget>
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QPushButton>
#include <QVBoxLayout>

class widget_20 : public QWidget
{
    Q_OBJECT
public:
    explicit widget_20(QWidget *parent = nullptr);
    ~widget_20() override;
    // 新增：公共接口 - 获取摄像头状态
        QCamera::State getCameraState() const;
        // 新增：公共接口 - 切换摄像头状态
        void publicToggleCamera();
    
    private slots:
        // 启动/停止摄像头切换
        void toggleCamera();
    
    private:
        QCamera *camera;                  // 摄像头对象
        QCameraViewfinder *viewfinder;    // 视频显示控件
        QCameraImageCapture *imageCapture;// 图像捕捉对象
        QPushButton *startButton;         // 控制按钮
        QVBoxLayout *layout;              // 布局管理器
    
signals:
        // 修改：将信号改为public权限（默认是public）
            void cameraStateChanged();
    
};

#endif // WIDGET_20_H
